--local key = KEYS[1]
--local key_req = KEYS[2]
--local key_resp = KEYS[3]
local arg_seq = tonumber(ARGV[1])
local arg_data = ARGV[2]
local arg_timeoutTime = ARGV[3]

if redis.call("HEXISTS", KEYS[2], arg_seq) == 0 then
    return 'ignore'
end

redis.call('HSETNX', KEYS[3], arg_seq, arg_data) --key_resp

redis.call('EXPIRE', KEYS[1], arg_timeoutTime) --key
redis.call('EXPIRE', KEYS[2], arg_timeoutTime) --key_req
redis.call('EXPIRE', KEYS[3], arg_timeoutTime) --key_resp

return 'ok'